Remove an (incorrect) compiler workaround in the __mu function. The workaround relied on rvalue references binding to non-function lvalues, while the original formulation (with std::forward) does the right thing. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124241 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/functional b/include/functional index a5a7dc2..73c6c59 100644 --- a/include/functional +++ b/include/functional 
@@ -1559,10 +1559,7 @@  __mu(_Ti&, _Uj& __uj)  {  const size_t _Indx = is_placeholder<_Ti>::value - 1; - // compiler bug workaround - typename tuple_element<_Indx, _Uj>::type __t = get<_Indx>(__uj); - return __t; -// return _STD::forward<typename tuple_element<_Indx, _Uj>::type>(get<_Indx>(__uj)); + return _STD::forward<typename tuple_element<_Indx, _Uj>::type>(get<_Indx>(__uj));  }    template <class _Ti, class _Uj>